package BIO.test05;

import java.io.*;
import java.net.Socket;
import java.util.Scanner;

/**
 * 客户端:实现客户端上传任意类型的文件数据给服务端保存起来
 */
public class Client {
    public static void main(String[] args) {
        System.out.println("===========客户端启动=========");
        try {
            //1.创建Socket对象请求服务端连接
            Socket socket = new Socket("localhost",9999);
            //2.把字节输出流包装为数据输出流
            DataOutputStream dos = new DataOutputStream(socket.getOutputStream());//该流可以做分段数据发送
            //3. 先发送上传文件的后缀给服务端
            dos.writeUTF(".png");
            //4. 把文件数据发送给服务端进行接收
            InputStream is = new FileInputStream("C:\\Users\\hwf\\Desktop\\java.png");
            byte[] buffer = new byte[1024];
            int len;
            while ((len = is.read(buffer)) > 0){
                dos.write(buffer,0,len);
            }
            dos.flush();
            socket.shutdownOutput();//通知服务端数据已经发送完毕
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
